package com.vhall.component.entity.tag;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author guoxin.wang
 * @date 2021/7/2 17:45
 */
@Data
@TableName("tag")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TagEntity对象", description = "标签表")
public class TagEntity implements Serializable {

    private static final long serialVersionUID = 2974639991932287944L;

    @TableId(value = "tag_id", type = IdType.AUTO)
    @JsonProperty("tag_id")
    private Integer tagId;

    @ApiModelProperty(value = "标签名称")
    @JsonProperty("name")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "顺序")
    @JsonProperty("status")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "应用id")
    @JsonProperty("app_id")
    @TableField("app_id")
    private String appId;

    @ApiModelProperty(value = "次数")
    @JsonProperty("use_count")
    @TableField("use_count")
    private Long useCount;
    /**
     * 标签类型
     * 自定义：0， 系统：1
     */
    @ApiModelProperty(value = "分类:  自定义：0， 常用：1")
    @JsonProperty("type")
    @TableField("type")
    private Integer type;
    /**
     * 创建人
     */
    @TableField("account_id")
    private Integer accountId;
    /**
     * 栏目的禁用启用
     * 0:禁用,1:启用
     * 默认禁用
     */
    private Integer enabled;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("created_at")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updated_at")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "删除时间")
    @JsonProperty("deleted_at")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

}
